1. Field of the Invention
This invention relates to the field of data processing systems. More particularly, this invention relates to the initiation of execution of a computer program using a mechanism that seeks to protect the computer program from malicious alteration.
2. Description of the Prior Art
It is known that malicious persons can generate computer programs (malware), that alter an existing other computer program so as to embed themselves within it or to subvert its actions. Computer virus scanners are provided to search for such malicious code within computer files and to repair infected computer files.
A particular difficulty arises in the case of computer viruses that seek to insert themselves within and alter the virus scanner itself. The virus scanner code typically has high level access to all the functions of a computer and so, if it is infected, then it can do considerable damage. Furthermore, if the virus scanner is infected, then it may not be capable of itself detecting or repairing that infection as a repair would be seeking to alter a file that was already open in a manner that would be prevented by the operating system.
Mechanisms that can resist the infection of computer programs with malicious code or the alteration of computer programs are strongly advantageous.
It is known to compress computer files using various compression algorithms, such as those associated with ZIP files. ZIP files may be made self-extracting such that when they are executed they decompress one or more computer files embedded within themselves and write these computer files into a temporary directory of the computer upon which they are executing, the decompressed files then being recoverable from the temporary directory.
It is also known to provide computer programs in a packed form. Upon execution such packed computer programs are loaded into memory and then act to decompress themselves within their memory space.
Both the ZIP file form and the packed executable file form are compression techniques that do not provide significant protection against malicious alteration of the files concerned.